ВВЕРХ

VBA-Урок 5. Свойства (Properties)

В данной статье мы будем учиться писать VBA код, чтобы управлять содержимым ячеек, самими ячейками и листами.

1. Запись значений в ячейку

Для начала откроем редактор, добавим модуль, скопируем туда этот макрос:

  1. Sub Properties() 'moonexcel.com.ua  
  2.    Range ("A1")  
  3. End Sub  

Мы обратились к ячейке A1 . Теперь давайте попробуем управлять данной ячейкой. Чтобы увидеть, что мы можем сделать, добавим точку после Range ("A1").

Выберите значение Value и нажмите Tab. Получим такой код:

  1. Sub Properties() 'moonexcel.com.ua  
  2.         Range ("A1").Value  
  3. End Sub  

Значение Value отображает содержимое ячейки.

Теперь давайте запишем значение 35 в ячейку A1:

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Value = 35  
  3.    'Значение ячейки A1 равно 35  
  4. End Sub  

Попробуем теперь записать текст в ячейку (когда присваиваем текстовое значение, его нужно брать в двойные кавычки ""):

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Value = "Тут є якийсь текст"  
  3. End Sub  

Заметим, что макрос будет отображать значение в том листе, который вы последний раз открывали. Поэтому, чтобы управлять содержимым ячейки на любом листе книги, нам нужно будет прописать полный путь к ячейке, а именно добавить впереди кода название листа, например:

Вариант 1. Обращаемся по названию листа - Sheets("Sheet2").

  1. Sub properties() 'moonexcel.com.ua  
  2.    Sheets("Sheet2").Range("A1").Value = "Тут є якийсь текст"  
  3.    'Означает: открыть лист 2, выбрать ячейку A1 и в ее значение записать текст  
  4. End Sub  

Вариант 2. Обращаемся не по названию листа, а по его порядковому номеру - Sheets(2).

  1. Sub properties() 'moonexcel.com.ua  
  2.    Sheets(2).Range("A1").Value = "Здесь есть какой-то текст"  
  3. End Sub  

Аналогично, если мы хотим обратиться к ячейке в другой книге, нам нужно в начале кода прописать название книги:

  1. Sub properties() 'moonexcel.com.ua  
  2.    Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A1").Value = "Здесь есть какой-то текст"  
  3. End Sub  

Хотя мы указываем параметр Value в наших примерах, на самом деле его можно не использовать, поскольку он стоит по умолчанию. То есть, эти две строки кода будут эквивалентными:

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Value = 35  
  3.    Range("A1") = 35  
  4. End Sub  

2. Удаление значений

Удалим значение 35 из ячейки A1, которое мы записали в начале урока:

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Clear  
  3.    'Означает: выбрать ячейку A1 и очистить ее  
  4. End Sub  

3. Форматирование значений

Если вы выберете значение Font , то появится список параметров, которые вы сможете применить к ячейке:

Форматирование: изменение размера текста

Давайте присвоим ячейке значение 35 и уменьшим размер шрифта до 8:

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1") = 35  
  3.    Range("A1").Font.Size = 8  
  4. End Sub  

Форматирование: сделать текст жирным

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Font.Bold = True  
  3. End Sub  

Забрать выделение полужирным:

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Font.Bold = False  
  3. End Sub  

Форматирование: сделать текст наклонным

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Font.Italic = True  
  3. End Sub  

Форматирование: подчеркнуть текст

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Font.Underline = True  
  3. End Sub  

Форматирование: установить тип шрифта

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Font.Name = "Arial"  
  3. End Sub  

Форматирование: закрасить ячейку

  1. Sub properties() 'moonexcel.com.ua  
  2.    Range("A1").Interior.ColorIndex = 6  
  3. End Sub  

Статьи по теме:

  • VBA-Урок 4. Работа с диапазонами (Range)
  • VBA-Урок 6.1. Типы данных (Variables)